package cn.ezios.huo.system.dao.service.impl;

import cn.ezios.huo.system.dao.dto.SysDictCatalogDTO;
import cn.ezios.huo.system.dao.vo.SysDictCatalogVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.ezios.huo.system.dao.domain.SysDictCatalog;
import cn.ezios.huo.system.dao.service.SysDictCatalogService;
import cn.ezios.huo.system.dao.mapper.SysDictCatalogMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

/**
* @author 王坚
* @description 针对表【sys_dict_catalog(系统字典目录)】的数据库操作Service实现
* @createDate 2024-07-17 09:49:16
*/
@Service
public class SysDictCatalogServiceImpl extends ServiceImpl<SysDictCatalogMapper, SysDictCatalog>
    implements SysDictCatalogService{

    /**
     * 分页查询
     *
     * @param current
     * @param size
     * @param dto
     * @return
     */
    @Override
    public IPage<SysDictCatalogVO> queryPage(Integer current, Integer size, SysDictCatalogDTO dto) {
        Page<SysDictCatalog> page = Page.of(current, size);
        return lambdaQuery()
                .like(dto.getDictName()!=null && !dto.getDictName().isBlank(),SysDictCatalog::getDictName, dto.getDictName())
                .like(dto.getCode()!=null && !dto.getCode().isBlank(),SysDictCatalog::getCode, dto.getCode())
                .orderByAsc(SysDictCatalog::getCode)
                .page(page)
                .convert(origin->{
                    SysDictCatalogVO vo = new SysDictCatalogVO();
                    BeanUtils.copyProperties(origin,vo);
                    return vo;
                });
    }
}




